﻿function Colisoes ()
{
	switch (estado)
	{
		case "CARREGANDO" :
			break;
		case "MENU" :			
			break;
		case "CREDITOS" :
			break;
		case "PAUSA" :
			break;
		case "GALERIA_A" :		
				var hit_pe:Object= jogador.jogadorHit
				
				if (parado && estamina) 
				{
					estadoAnteriror=estado
					if (hit_pe.hitTest(hitPatio))
					{							
						_root.palco.transicao.gotoAndPlay("IN")					
						mudarEstado=estados[0].patio;
					}
					else
					if (hit_pe.hitTest(hitGaleriaB))
					{						
						_root.palco.transicao.gotoAndPlay("IN")			
						mudarEstado=estados[0].g_b;
					}
					else
					if (hit_pe.hitTest(hitGaleriaC))
					{
						_root.palco.transicao.gotoAndPlay("IN")		
						mudarEstado=estados[0].g_c;
					}				
					estamina=false
				};
				//PAREDES-> serve para delmitar o espaço da tela
				Limite(hit_pe);
		
			break;
		case "GALERIA_B" :
			var hit_pe:Object= jogador.jogadorHit
			if (parado && estamina) 
			{
				estadoAnteriror=estado
				if (hit_pe.hitTest(hitEnfermaria))
				{
					_root.palco.transicao.gotoAndPlay("IN")
					mudarEstado=estados[0].enfermaria;
				}
				else
				if (hit_pe.hitTest(hitGaleriaA))
				{
					_root.palco.transicao.gotoAndPlay("IN")
					mudarEstado=estados[0].g_a;
				}	
				estamina=false
			};
			Limite(hit_pe);
			break;
		case "GALERIA_C" :
				var hit_pe:Object= jogador.jogadorHit
				if (parado && estamina) 
				{
					estadoAnteriror=estado
					if (hit_pe.hitTest(hitRefeitorio))
					{
						_root.palco.transicao.gotoAndPlay("IN")
						mudarEstado=estados[0].refeitorio;
					}
					else
					if (hit_pe.hitTest(hitGaleriaA))
					{
						_root.palco.transicao.gotoAndPlay("IN")
						mudarEstado=estados[0].g_a;
					}
					else
					if (hit_pe.hitTest(hitGaleriaC))
					{
						_root.palco.transicao.gotoAndPlay("IN")
						mudarEstado=estados[0].g_c;
					}			
					estamina=false
				};
				Limite(hit_pe);
			break;
		case "PATIO" :
				var hit_pe:Object= jogador.jogadorHit
				if (parado && estamina) 
				{
					estadoAnteriror=estado
					if (hit_pe.hitTest(hitSaida))
					{
						_root.palco.transicao.gotoAndPlay("IN")
						mudarEstado=estados[0].saida;
					}
					else
					if (hit_pe.hitTest(hitGaleriaA))
					{
						_root.palco.transicao.gotoAndPlay("IN")
						mudarEstado=estados[0].g_a;
					}			
					estamina=false
				};
				Limite(hit_pe);
			break;
		case "RUA" :
			var hit_pe:Object= jogador.jogadorHit
				if (parado && estamina) 
				{
					estadoAnteriror=estado
					if (hit_pe.hitTest(hitRefeitorio))
					{
						_root.palco.transicao.gotoAndPlay("IN")
						mudarEstado=estados[0].refeitorio;
					}
					else
					if (hit_pe.hitTest(hitGaleriaA))
					{
						_root.palco.transicao.gotoAndPlay("IN")
						mudarEstado=estados[0].g_a;
					}
					else
					if (hit_pe.hitTest(hitGaleriaC))
					{
						_root.palco.transicao.gotoAndPlay("IN")
						mudarEstado=estados[0].g_c;
					}			
					estamina=false
				};
				Limite(hit_pe);
			break;
		case "SAIDA" :
			var hit_pe:Object= jogador.jogadorHit
				if (parado && estamina) 
				{
					estadoAnteriror=estado
					if (hit_pe.hitTest(hitRua))
					{
						_root.palco.transicao.gotoAndPlay("IN")
						mudarEstado=estados[0].rua;
					}						
					estamina=false
				};
				Limite(hit_pe);
			break;
		case "REFEITORIO" :
			var hit_pe:Object= jogador.jogadorHit
			var horizontais:Number=17;
			var verticais:Number=14;
			var paredes:Object;
			var i:Number=0;
			var j:Number=0;
				if (parado && estamina) 
				{
					estadoAnteriror=estado
					if (hit_pe.hitTest(hitGaleriaC))
					{
						_root.palco.transicao.gotoAndPlay("IN")
						mudarEstado=estados[0].g_c;
					}			
					estamina=false
				};
				//verificar a aprede->depoi ferificar o frame
				//2==baixo
				//3==cima
				//4==direita
				//5==esquerda
				if(!parado)
				{
					//verico todos as orizontais
					for (i=1;i<=horizontais;i++ )
					{
						paredes=Object(eval('paredeHorizontal'+i))		
						
						if(hit_pe.hitTest(paredes)) 
						{
							//colisoes=false;
							estamina=false;
							if(jogador._currentframe==2)
							{
								jogador._y-=velocidade+1;							
							}else
							if(jogador._currentframe==3)
							{
								jogador._y+=velocidade+1;								
							}							
						}
						else 
						if(i==horizontais)
						{
							for (j=1;j<=verticais;j++ )
							{
								paredes=Object(eval('paredeVertical'+j))									
								if(hit_pe.hitTest(paredes)) 
								{									
									//colisoes=false;
									estamina=false;
									if(jogador._currentframe==4)
									{
										jogador._x-=velocidade+1;									
	
									}else
									if(jogador._currentframe==5)
									{
										jogador._x+=velocidade+1;
									}
								}
								else 
								if(j==verticais)
								{
									trace(4)
									//melhorar?
									//colisoes=true
								}
							}
						
						}//for						
					}//if
					
				}
				
				
				
				Limite(hit_pe);
			break;
		case "ENFERMARIA" :
			var hit_pe:Object= jogador.jogadorHit
				if (parado && estamina) 
				{
					estadoAnteriror=estado
					if (hit_pe.hitTest(hitPatio))
					{
						_root.palco.transicao.gotoAndPlay("IN")
						mudarEstado=estados[0].patio;
					}
					else
					if (hit_pe.hitTest(hitGaleriaB))
					{
						_root.palco.transicao.gotoAndPlay("IN")
						mudarEstado=estados[0].g_b;
					}
							
					estamina=false
				};
				Limite(hit_pe);
			break;
		case "GAME_OVER" :
			break;
		case "THE_END" :
			break;
		case "CONTROLES" :
			break;
		case "AJUDA" :
			break;
	}
}

//colidindo com a parede
function Limite (_pe:Object)
{
	
		if(_pe.hitTest(paredeCima))
		{
			parado=true
			cima=false
			jogador._Y=-4
		}
		else
		if(_pe.hitTest(paredeBaixo))
		{
			parado=true
			baixo=false
			jogador._Y=526
		}
		else
		if(_pe.hitTest(paredeEsquerda))
		{
			parado=true
			esquerda=false
			jogador._x=21
		}
		else
		if(_pe.hitTest(paredeDireita))
		{			
			parado=true
			direita=false
			jogador._x=757			
		};
}
